package ae.pcfc.etks.online.ced.web.dao;

import java.io.Serializable;
import java.util.List;

public interface BaseDAO <T, PK extends Serializable>{
    
	/**
	 * add
	 * Method to create domain object record in DB
	 * @param persistentObject
	 * void
	 */    
	public void add(T persistentObject);
	
	/**
	 * findByPrimaryKey
	 * Method to find the domain object by primary Key 
	 * @param id String
	 * @return
	 * persistentObject

	public T findByPrimaryKey(PK id);
	 */
	
	/**
	 * update
	 * Method to update the domain object in the DB
	 * @param persistentObject
	 * void
	 */
	public void update(T persistentObject);
	
	/**
	 * remove
	 * Method to remove domain object record in DB
	 * @param persistentObject
	 * void
	 */    
	void remove(T persistentObject);

	 
	/**
	 * remove
	 * Method to Find all the objects from persistent storage
	 * void
	 */    
    /** */
    List<T> findAll();	
	
}

